<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Chapter 7. Boost.Container</title>
<link rel="stylesheet" href="../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
<link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries (BoostBook Subset)">
<link rel="prev" href="circular_buffer/s14.html" title="Index">
<link rel="next" href="container/main_features.html" title="Main features">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../boost.png"></td>
<td align="center"><a href="../../index.html">Home</a></td>
<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="circular_buffer/s14.html"><img src="../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="container/main_features.html"><img src="../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="chapter">
<div class="titlepage"><div>
<div><h2 class="title">
<a name="container"></a>Chapter 7. Boost.Container</h2></div>
<div><div class="author"><h3 class="author">
<span class="firstname">Ion</span> <span class="surname">Gaztanaga</span>
</h3></div></div>
<div><p class="copyright">Copyright © 2009-2018 Ion Gaztanaga</p></div>
<div><div class="legalnotice">
<a name="container.legal"></a><p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></div>
</div></div>
<div class="toc">
<p><b>Table of Contents</b></p>
<dl class="toc">
<dt><span class="section"><a href="container.html#container.intro">Introduction</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="container.html#container.intro.introduction_building_container">Building
      Boost.Container</a></span></dt>
<dt><span class="section"><a href="container.html#container.intro.tested_compilers">Tested compilers</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="container/main_features.html">Main features</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="container/main_features.html#container.main_features.move_emplace">Efficient insertion</a></span></dt>
<dt><span class="section"><a href="container/main_features.html#container.main_features.containers_of_incomplete_types">Containers
      of Incomplete Types</a></span></dt>
<dt><span class="section"><a href="container/main_features.html#container.main_features.scary_iterators">SCARY iterators</a></span></dt>
<dt><span class="section"><a href="container/main_features.html#container.main_features.other_features">Other features</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="container/exception_handling.html">Boost.Container and C++ exceptions</a></span></dt>
<dt><span class="section"><a href="container/non_standard_containers.html">Non-standard containers</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="container/non_standard_containers.html#container.non_standard_containers.stable_vector"><span class="emphasis"><em>stable_vector</em></span></a></span></dt>
<dt><span class="section"><a href="container/non_standard_containers.html#container.non_standard_containers.flat_xxx"><span class="emphasis"><em>flat_(multi)map/set</em></span>
      associative containers</a></span></dt>
<dt><span class="section"><a href="container/non_standard_containers.html#container.non_standard_containers.devector"><span class="emphasis"><em>devector</em></span></a></span></dt>
<dt><span class="section"><a href="container/non_standard_containers.html#container.non_standard_containers.slist"><span class="emphasis"><em>slist</em></span></a></span></dt>
<dt><span class="section"><a href="container/non_standard_containers.html#container.non_standard_containers.static_vector"><span class="emphasis"><em>static_vector</em></span></a></span></dt>
<dt><span class="section"><a href="container/non_standard_containers.html#container.non_standard_containers.small_vector"><span class="emphasis"><em>small_vector</em></span></a></span></dt>
</dl></dd>
<dt><span class="section"><a href="container/extended_functionality.html">Extended functionality:
    Basic extensions</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="container/extended_functionality.html#container.extended_functionality.default_initialialization">Default
      initialization for vector-like containers</a></span></dt>
<dt><span class="section"><a href="container/extended_functionality.html#container.extended_functionality.ordered_range_insertion">Ordered
      range insertion for associative containers (<span class="emphasis"><em>ordered_unique_range</em></span>,
      <span class="emphasis"><em>ordered_range</em></span>) </a></span></dt>
<dt><span class="section"><a href="container/extended_functionality.html#container.extended_functionality.constant_time_range_splice">Constant-time
      range splice for <code class="computeroutput"><span class="special">(</span><span class="identifier">s</span><span class="special">)</span><span class="identifier">list</span></code></a></span></dt>
</dl></dd>
<dt><span class="section"><a href="container/configurable_containers.html">Extended functionality:
    Configurable containers</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="container/configurable_containers.html#container.configurable_containers.configurable_tree_based_associative_containers">Configurable
      tree-based associative ordered containers</a></span></dt>
<dt><span class="section"><a href="container/configurable_containers.html#container.configurable_containers.configurable_vector">Configurable
      vector</a></span></dt>
<dt><span class="section"><a href="container/configurable_containers.html#container.configurable_containers.configurable_static_vectors">Configurable
      static vector</a></span></dt>
<dt><span class="section"><a href="container/configurable_containers.html#container.configurable_containers.configurable_small_vectors">Configurable
      small vector</a></span></dt>
<dt><span class="section"><a href="container/configurable_containers.html#container.configurable_containers.configurable_deques">Configurable
      deques</a></span></dt>
<dt><span class="section"><a href="container/configurable_containers.html#container.configurable_containers.configurable_devector">Configurable
      devector</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="container/extended_allocators.html">Extended functionality:
    Extended allocators</a></span></dt>
<dt><span class="section"><a href="container/cpp_conformance.html">C++11/C++14/C++17 Conformance</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.move_emplace">Move and Emplace</a></span></dt>
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.alloc_traits_move_traits">Stateful
      allocators</a></span></dt>
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.scoped_allocator">Scoped allocators</a></span></dt>
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.insertion_hints">Insertion
      hints in associative containers and preserving insertion ordering for elements
      with equivalent keys</a></span></dt>
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.initializer_lists">Initializer
      lists</a></span></dt>
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.null_iterators">Null Forward
      Iterators</a></span></dt>
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.polymorphic_memory_resources">Polymorphic
      Memory Resources </a></span></dt>
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.forward_list"><code class="computeroutput"><span class="identifier">forward_list</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code></a></span></dt>
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.vector_exception_guarantees"><code class="computeroutput"><span class="identifier">vector</span></code> vs. <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></code>
      exception guarantees</a></span></dt>
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.container_const_reference_parameters">Parameter
      taken by const reference that can be changed</a></span></dt>
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.Vector_bool"><code class="computeroutput"><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">&gt;</span></code> specialization</a></span></dt>
<dt><span class="section"><a href="container/cpp_conformance.html#container.cpp_conformance.non_standard_memset_initialization">Non-standard
      value initialization using <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">memset</span></code></a></span></dt>
</dl></dd>
<dt><span class="section"><a href="container/known_issues.html">Known Issues</a></span></dt>
<dd><dl><dt><span class="section"><a href="container/known_issues.html#container.known_issues.move_emulation_limitations">Move
      emulation limitations in C++03 compilers</a></span></dt></dl></dd>
<dt><span class="section"><a href="container/history_and_reasons.html">History and reasons to use
    Boost.Container</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="container/history_and_reasons.html#container.history_and_reasons.boost_container_history">Boost.Container
      history</a></span></dt>
<dt><span class="section"><a href="container/history_and_reasons.html#container.history_and_reasons.Why_boost_container">Why
      Boost.Container?</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="container/index.html">Indexes</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="container/index.html#id-1.3.8.13.2">Class Index</a></span></dt>
<dt><span class="section"><a href="container/index.html#id-1.3.8.13.3">Typedef Index</a></span></dt>
<dt><span class="section"><a href="container/index.html#id-1.3.8.13.4">Function Index</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="boost_container_header_reference.html">Boost.Container Header Reference</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.adaptive__pool_8hpp">Header &lt;boost/container/adaptive_pool.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.allocator_8hpp">Header &lt;boost/container/allocator.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.allocator__traits_8hpp">Header &lt;boost/container/allocator_traits.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.container__fwd_8hpp">Header &lt;boost/container/container_fwd.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.deque_8hpp">Header &lt;boost/container/deque.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.pmr_2deque_8hpp">Header &lt;boost/container/pmr/deque.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.devector_8hpp">Header &lt;boost/container/devector.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.pmr_2devector_8hpp">Header &lt;boost/container/pmr/devector.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.flat__map_8hpp">Header &lt;boost/container/flat_map.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.pmr_2flat__map_8hpp">Header &lt;boost/container/pmr/flat_map.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.flat__set_8hpp">Header &lt;boost/container/flat_set.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.pmr_2flat__set_8hpp">Header &lt;boost/container/pmr/flat_set.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.list_8hpp">Header &lt;boost/container/list.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.pmr_2list_8hpp">Header &lt;boost/container/pmr/list.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.map_8hpp">Header &lt;boost/container/map.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.pmr_2map_8hpp">Header &lt;boost/container/pmr/map.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.new__allocator_8hpp">Header &lt;boost/container/new_allocator.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.node__allocator_8hpp">Header &lt;boost/container/node_allocator.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.node__handle_8hpp">Header &lt;boost/container/node_handle.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.options_8hpp">Header &lt;boost/container/options.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.global__resource_8hpp">Header &lt;boost/container/pmr/global_resource.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.memory__resource_8hpp">Header &lt;boost/container/pmr/memory_resource.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.monotonic__buffer__resource_8hpp">Header &lt;boost/container/pmr/monotonic_buffer_resource.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.polymorphic__allocator_8hpp">Header &lt;boost/container/pmr/polymorphic_allocator.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.pool__options_8hpp">Header &lt;boost/container/pmr/pool_options.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.resource__adaptor_8hpp">Header &lt;boost/container/pmr/resource_adaptor.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.synchronized__pool__resource_8hpp">Header &lt;boost/container/pmr/synchronized_pool_resource.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.unsynchronized__pool__resource_8hpp">Header &lt;boost/container/pmr/unsynchronized_pool_resource.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.scoped__allocator_8hpp">Header &lt;boost/container/scoped_allocator.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.scoped__allocator__fwd_8hpp">Header &lt;boost/container/scoped_allocator_fwd.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.pmr_2set_8hpp">Header &lt;boost/container/pmr/set.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.set_8hpp">Header &lt;boost/container/set.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.pmr_2slist_8hpp">Header &lt;boost/container/pmr/slist.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.slist_8hpp">Header &lt;boost/container/slist.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.pmr_2small__vector_8hpp">Header &lt;boost/container/pmr/small_vector.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.small__vector_8hpp">Header &lt;boost/container/small_vector.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.pmr_2stable__vector_8hpp">Header &lt;boost/container/pmr/stable_vector.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.stable__vector_8hpp">Header &lt;boost/container/stable_vector.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.static__vector_8hpp">Header &lt;boost/container/static_vector.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.pmr_2string_8hpp">Header &lt;boost/container/pmr/string.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.string_8hpp">Header &lt;boost/container/string.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.throw__exception_8hpp">Header &lt;boost/container/throw_exception.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.uses__allocator_8hpp">Header &lt;boost/container/uses_allocator.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.uses__allocator__fwd_8hpp">Header &lt;boost/container/uses_allocator_fwd.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.pmr_2vector_8hpp">Header &lt;boost/container/pmr/vector.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_container_header_reference.html#doxygen.boost_container_header_reference.vector_8hpp">Header &lt;boost/container/vector.hpp&gt;</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="container/acknowledgements_notes.html">Acknowledgements, notes
    and links</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html">Release Notes</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_87_00">Boost
      1.87 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_86_00">Boost
      1.86 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_85_00">Boost
      1.85 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_83_00">Boost
      1.83 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_82_00">Boost
      1.82 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_81_00">Boost
      1.81 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_80_00">Boost
      1.80 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_79_00">Boost
      1.79 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_78_00">Boost
      1.78 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_77_00">Boost
      1.77 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_76_00">Boost
      1.76 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_75_00">Boost
      1.75 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_74_00">Boost
      1.74 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_72_00">Boost
      1.72 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_71_00">Boost
      1.71 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_70_00">Boost
      1.70 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_69_00">Boost
      1.69 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_68_00">Boost
      1.68 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_67_00">Boost
      1.67 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_66_00">Boost
      1.66 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_65_00">Boost
      1.65 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_64_00">Boost
      1.64 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_63_00">Boost
      1.63 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_62_00">Boost
      1.62 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_61_00">Boost
      1.61 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_60_00">Boost
      1.60 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_59_00">Boost
      1.59 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_58_00">Boost
      1.58 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_57_00">Boost
      1.57 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_56_00">Boost
      1.56 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_55_00">Boost
      1.55 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_54_00">Boost
      1.54 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_53_00">Boost
      1.53 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_52_00">Boost
      1.52 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_51_00">Boost
      1.51 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_50_00">Boost
      1.50 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_49_00">Boost
      1.49 Release</a></span></dt>
<dt><span class="section"><a href="container/release_notes.html#container.release_notes.release_notes_boost_1_48_00">Boost
      1.48 Release</a></span></dt>
</dl></dd>
</dl>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="container.intro"></a><a class="link" href="container.html#container.intro" title="Introduction">Introduction</a>
</h2></div></div></div>
<div class="toc"><dl class="toc">
<dt><span class="section"><a href="container.html#container.intro.introduction_building_container">Building
      Boost.Container</a></span></dt>
<dt><span class="section"><a href="container.html#container.intro.tested_compilers">Tested compilers</a></span></dt>
</dl></div>
<p>
      <span class="bold"><strong>Boost.Container</strong></span> library implements several
      well-known containers, including STL containers. The aim of the library is
      to offer advanced features not present in standard containers or to offer the
      latest standard draft features for compilers that don't comply with the latest
      C++ standard.
    </p>
<p>
      In short, what does <span class="bold"><strong>Boost.Container</strong></span> offer?
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          Emplacement and move semantics are implemented, including emulation for
          pre-C++11 compilers.
        </li>
<li class="listitem">
          Polymorphic allocators and memory resources, including implementation and
          emulation for pre-C++17 compilers
        </li>
<li class="listitem">
          New advanced features (e.g. recursive containers) and configurability options
          <a class="link" href="container/configurable_containers.html" title="Extended functionality: Configurable containers">container.configurable_containers</a>
          for containers.
        </li>
<li class="listitem">
          Containers support stateful allocators and are compatible with <span class="bold"><strong>Boost.Interprocess</strong></span> (they can be safely placed in
          shared memory).
        </li>
<li class="listitem">
          Users obtain a more uniform performance across all plataforms, including
          <a class="link" href="container/main_features.html#container.main_features.scary_iterators" title="SCARY iterators">SCARY iterators</a>.
        </li>
<li class="listitem">
          The library offers new useful containers:
          <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
<li class="listitem">
                <code class="computeroutput"><a class="link" href="doxygen/boost_container_header_reference/classboost_1_1container_1_1flat__map.html" title="Class template flat_map">flat_map</a></code>,
                <code class="computeroutput"><a class="link" href="doxygen/boost_container_header_reference/classboost_1_1container_1_1flat__set.html" title="Class template flat_set">flat_set</a></code>,
                <code class="computeroutput"><a class="link" href="doxygen/boost_container_header_reference/classboost_1_1container_1_1flat__multimap.html" title="Class template flat_multimap">flat_multimap</a></code>
                and <code class="computeroutput"><a class="link" href="doxygen/boost_container_header_reference/classboost_1_1container_1_1flat__multiset.html" title="Class template flat_multiset">flat_multiset</a></code>:
                drop-in replacements for standard associative containers but more
                memory friendly and with faster searches.
              </li>
<li class="listitem">
                <code class="computeroutput"><a class="link" href="doxygen/boost_container_header_reference/classboost_1_1container_1_1stable__vector.html" title="Class template stable_vector">stable_vector</a></code>:
                a std::list and std::vector hybrid container: vector-like random-access
                iterators and list-like iterator stability in insertions and erasures.
              </li>
<li class="listitem">
                <code class="computeroutput"><a class="link" href="doxygen/boost_container_header_reference/classboost_1_1container_1_1static__vector.html" title="Class template static_vector">static_vector</a></code>:
                a vector-like container that internally embeds (statically allocates)
                all needed memory up to the maximum capacity. Maximum capacity can't
                be increased and it's specified at compile time.
              </li>
<li class="listitem">
                <code class="computeroutput"><a class="link" href="doxygen/boost_container_header_reference/classboost_1_1container_1_1small__vector.html" title="Class template small_vector">small_vector</a></code>:
                a vector-like container that internally embeds (statically allocates)
                a minimum amount of memory, but dynamically allocates elements when
                capacity has to be increased. This minimum capacity is specified
                at compile time.
              </li>
<li class="listitem">
                <code class="computeroutput"><a class="link" href="doxygen/boost_container_header_reference/classboost_1_1container_1_1devector.html" title="Class template devector">devector</a></code>:
                is a hybrid of the standard vector and deque containers. It offers
                cheap (amortized constant time) insertion at both the front and back
                ends.
              </li>
<li class="listitem">
                <code class="computeroutput"><a class="link" href="doxygen/boost_container_header_reference/classboost_1_1container_1_1slist.html" title="Class template slist">slist</a></code>: the classic
                pre-standard singly linked list implementation offering constant-time
                <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code>.
                Note that C++11 <code class="computeroutput"><span class="identifier">forward_list</span></code>
                has no <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code>.
              </li>
</ul></div>
        </li>
</ul></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="container.intro.introduction_building_container"></a><a class="link" href="container.html#container.intro.introduction_building_container" title="Building Boost.Container">Building
      Boost.Container</a>
</h3></div></div></div>
<p>
        There is no need to compile <span class="bold"><strong>Boost.Container</strong></span>,
        since it's a header-only library, just include your Boost header directory
        in your compiler include path <span class="bold"><strong>except if you use</strong></span>:
      </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
            <a class="link" href="container/extended_allocators.html" title="Extended functionality: Extended allocators">Extended Allocators</a>
          </li>
<li class="listitem">
            Some <a class="link" href="container/cpp_conformance.html#container.cpp_conformance.polymorphic_memory_resources" title="Polymorphic Memory Resources">Polymorphic
            Memory Resources</a> classes.
          </li>
</ul></div>
<p>
        Those exceptions are are implemented as a separately compiled library, so
        in those cases you must install binaries in a location that can be found
        by your linker. If you followed the <a href="http://www.boost.org/doc/libs/release/more/getting_started/index.html" target="_top">Boost
        Getting Started</a> instructions, that's already been done for you.
      </p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="container.intro.tested_compilers"></a><a class="link" href="container.html#container.intro.tested_compilers" title="Tested compilers">Tested compilers</a>
</h3></div></div></div>
<p>
        <span class="bold"><strong>Boost.Container</strong></span> requires a decent C++03
        compatibility. Some compilers known to work are:
      </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
            Visual C++ &gt;= 10.0
          </li>
<li class="listitem">
            GCC &gt;= 4.8
          </li>
</ul></div>
</div>
</div>
</div>
<div class="copyright-footer"></div>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="circular_buffer/s14.html"><img src="../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="container/main_features.html"><img src="../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
